namespace DesignPattern.Strategy.Refactored
{
    public class Eagle : ICanFly, ICanEat
    {   
        public string Fly()
        {
            return new FastFlyer().Fly();
        }

        public string Eat()
        {
            return new GrassEater().Eat();
        }
    }

    public class Parrot : ICanFly, ICanEat
    {
        public string Fly()
        {
            return new SlowFlyer().Fly();
        }

        public string Eat()
        {
            return new GrassEater().Eat();
        }
    }

    public class Crow : ICanFly, ICanEat
    {
        public string Fly()
        {
            return new FastFlyer().Fly();
        }

        public string Eat()
        {
            return new FruitEater().Eat();
        }
    }

    public class Sparrow : ICanFly, ICanEat
    {
        public string Fly()
        {
            return new SlowFlyer().Fly();
        }

        public string Eat()
        {
            return new FruitEater().Eat();
        }
    }

    public class Plane : ICanFly
    {
        public string Fly()
        {
            return new FastFlyer().Fly();
        }
    }
}